from django.test import TestCase
from .models import Project, Group, Satellite


class ProjectModelTest(TestCase):
    def test_project_creation(self):
        project = Project.objects.create(
            name='测试项目',
            description='这是一个测试项目'
        )
        self.assertEqual(project.name, '测试项目')
        self.assertEqual(str(project), '测试项目')


class GroupModelTest(TestCase):
    def setUp(self):
        self.project = Project.objects.create(
            name='测试项目',
            description='这是一个测试项目'
        )
    
    def test_group_creation(self):
        group = Group.objects.create(
            name='测试组',
            project=self.project,
            description='这是一个测试组'
        )
        self.assertEqual(group.name, '测试组')
        self.assertEqual(group.project, self.project)
        self.assertEqual(str(group), '测试项目 - 测试组')


class SatelliteModelTest(TestCase):
    def setUp(self):
        self.project = Project.objects.create(
            name='测试项目',
            description='这是一个测试项目'
        )
        self.group = Group.objects.create(
            name='测试组',
            project=self.project,
            description='这是一个测试组'
        )
    
    def test_satellite_creation(self):
        satellite = Satellite.objects.create(
            name='测试卫星',
            group=self.group,
            description='这是一个测试卫星'
        )
        self.assertEqual(satellite.name, '测试卫星')
        self.assertEqual(satellite.group, self.group)
        self.assertEqual(str(satellite), '测试项目 - 测试组 - 测试卫星')